// //1、文件操作
// #include<stdio.h>
// #include<stdlib.h>
// int main()
// {
//     FILE* pf=fopen("hello.txt","w");//打开文件，不存在则创建
//     //判断
//     if(pf==NULL)
//     {
//         perror("open file fail");
//         exit(0);//退出程序
//     }
//     //写入一个字符串
//     fputs("Hello word!\n",pf);
//     //关闭文件
//     fclose(pf);
//     printf("文件写入成功！\n");
//     return 0;
// }


// //2、fputc()函数使用，向文件写入一个字符
// #include<stdio.h>
// #include<stdlib.h>//exit()函数的头文件
// int main()
// {
//     //写入的内容
//     char ch[]="I like program!";
//     FILE* pf=fopen("hello.txt","w");
//     //判断
//     if(pf==NULL)
//     {
//         printf("打开文件失败!\n");
//         exit(0);
//     }
//     //写入
//     int i=0;
//     while(ch[i]!='\0')
//     {
//         fputc(ch[i],pf);
//         i++;
//     }
//     //关闭文件、
//     fclose(pf);
//     return 0;
// }


// //3、fputs()函数的使用，写入字符串
// #include<stdio.h>
// #include<stdlib.h>
// int main()
// {
//     char *str[3];//定义字符数组的指针——字符数组指针
//     str[0]="I like program!\n";
//     str[1]="It is amazing!\n";
//     str[2]="It is interesting!\n";
//     FILE* pf=fopen("hello.txt","w");
//     //判断
//     if(pf==NULL)
//     {
//         printf("文件打开失败！\n");
//         exit(0);
//     }
//     //写入
//     for(int i=0;i<3;i++)
//     {
//         fputs(str[i],pf);
//     }
//     //关闭
//     fclose(pf);
//     return 0;
// }



// //4、fwrite()函数的使用，二进制形式写入文件
// #include<stdio.h>
// #include<stdlib.h>
// int main()
// {
//     char str[26];//存放26英文字符
//     FILE* pf=fopen("hello.txt","w");
//     if(pf==NULL)
//     {
//         printf("打开文件失败！\n");
//         exit(0);
//     }
//     for(int i=0;i<26;i++)
//     {
//         str[i]='a'+i;
//     }
//     int num=fwrite(str,sizeof(char)*13,2,pf);//第一次写入前13个字母，第二次写入后面13个
//     printf("写入次数：%d\n",num);
//     fclose(pf);
//     return 0;
// }


// //5、fprintf()函数的使用，格式化写入
// #include<stdio.h>
// #include<stdlib.h>
// int main()
// {
//     FILE* pf=fopen("hello.txt","w");
//     if(pf==NULL)
//     {
//         printf("打开失败！\n");
//         exit(0);
//     }
//     //将格式化的字符串输出到文件中
//     fprintf(pf,"I am a %s,I am %d years old.","programer",26);
//     fclose(pf);
//     return 0;
// }



// //6、fgetc()函数的使用，读取单个字符
// #include<stdio.h>
// #include<stdlib.h>
// int main()
// {
//     FILE* pf=fopen("hello.txt","r");
//     if(pf==NULL)
//     {
//         printf("打开文件失败！\n");
//         exit(0);
//     }
//     //读取
//     char ch=0;
//     while((ch=fgetc(pf))!=EOF)
//     {
//         printf("%c",ch);
//     }
//     fclose(pf);
//     return 0;
// }


// //7、fgets()函数的使用，读取字符串
// #include<stdio.h>
// #include<stdlib.h>
// #include<string.h>
// int main()
// {
//     FILE* pf=fopen("hello.txt","r");
//     if(pf==NULL)
//     {
//         printf("打开文件失败！\n");
//         exit(0);
//     }
//     //读取
//     char str[50];//文件数据缓冲区
//     while(!feof(pf))//判断文件指针是否已经指到文件的末尾。
//     {
//         fgets(str,sizeof(str),pf);
//         printf("%s",str);
//     }
//     fclose(pf);
//     return 0;
// }


// //8、fread()函数——二进制形式读取
// #include<stdio.h>
// #include<stdlib.h>
// #include<string.h>
// int main()
// {
//     FILE* pf=fopen("hello.txt","r");
//     if(pf==NULL)
//     {
//         printf("打开文件失败！\n");
//         exit(0);
//     }
//     char str[30];
//     memset(str,0,sizeof(0));//把字符数组初始化为0
//     int len=0;
//     while(!feof(pf))
//     {
//         len=fread(str,1,28,pf);
//         printf("%s\n",str);
//     }
//     fclose(pf);
//     printf("读取的实际大小：%d\n",len);
//     return 0;
// }


//9、fscanf()函数——格式化读取
#include<stdio.h>
#include<stdlib.h>
int main()
{
    char arr1[100],arr2[100];
    FILE* pf=fopen("hello.txt","r");
    if(pf==NULL)
    {
        perror("fopen");
        exit(0);
    }
    fscanf(pf,"%s %s",arr1,arr2);
    printf("%s\n",arr1);
    printf("%s\n",arr2);
    fclose(pf);
   
    return 0;
}